using System;
using UnityEngine;
public class SCoreVEx:IVEx
{
public void SetData(ComponentData d){Debug.Assert(TargetType.IsAssignableFrom(d.ComponentType));_data=new WeakReference<ComponentData>(d);}
public SCoreVEx(ComponentData d){SetData(d);}
public SCoreVEx(){}
WeakReference<ComponentData> _data;
public UInt32 CompIdentity{get{if(_data.TryGetTarget(out ComponentData data))return data.CompIdentity;else throw new NullReferenceException("弱引用未找到");}}
public  Type TargetType=>typeof(SCore);
public ComponentData Data{get{if(_data.TryGetTarget(out ComponentData data))return data;
else throw new NullReferenceException("弱引用未找到");}}
public UnityEngine.Vector3 LocalPosition {get{if(_data.TryGetTarget(out ComponentData data))return data.GetValue<UnityEngine.Vector3>(0);else throw new NullReferenceException("弱引用未找到");}
set{if(_data.TryGetTarget(out ComponentData data))data.SetValue<UnityEngine.Vector3>(0,value,true);else throw new NullReferenceException("弱引用未找到");}}
public static ushort LocalPositionId{get=>(ushort)0;}
public System.Single LocalRotation {get{if(_data.TryGetTarget(out ComponentData data))return data.GetValue<System.Single>(1);else throw new NullReferenceException("弱引用未找到");}
set{if(_data.TryGetTarget(out ComponentData data))data.SetValue<System.Single>(1,value,true);else throw new NullReferenceException("弱引用未找到");}}
public static ushort LocalRotationId{get=>(ushort)1;}
public System.Boolean LocalIsFliped {get{if(_data.TryGetTarget(out ComponentData data))return data.GetValue<System.Boolean>(2);else throw new NullReferenceException("弱引用未找到");}
set{if(_data.TryGetTarget(out ComponentData data))data.SetValue<System.Boolean>(2,value,true);else throw new NullReferenceException("弱引用未找到");}}
public static ushort LocalIsFlipedId{get=>(ushort)2;}
public System.Collections.Generic.List<System.Int32> ConnectState {get{if(_data.TryGetTarget(out ComponentData data))return data.GetValue<System.Collections.Generic.List<System.Int32>>(3);else throw new NullReferenceException("弱引用未找到");}
set{if(_data.TryGetTarget(out ComponentData data))data.SetValue<System.Collections.Generic.List<System.Int32>>(3,value,true);else throw new NullReferenceException("弱引用未找到");}}
public static ushort ConnectStateId{get=>(ushort)3;}
public System.Collections.Generic.List<UnityEngine.Vector3Int> LocalMeshPos {get{if(_data.TryGetTarget(out ComponentData data))return data.GetValue<System.Collections.Generic.List<UnityEngine.Vector3Int>>(4);else throw new NullReferenceException("弱引用未找到");}
set{if(_data.TryGetTarget(out ComponentData data))data.SetValue<System.Collections.Generic.List<UnityEngine.Vector3Int>>(4,value,true);else throw new NullReferenceException("弱引用未找到");}}
public static ushort LocalMeshPosId{get=>(ushort)4;}
public System.UInt32 AttachedRigidUnion {get{if(_data.TryGetTarget(out ComponentData data))return data.GetValue<System.UInt32>(5);else throw new NullReferenceException("弱引用未找到");}
set{if(_data.TryGetTarget(out ComponentData data))data.SetValue<System.UInt32>(5,value,true);else throw new NullReferenceException("弱引用未找到");}}
public static ushort AttachedRigidUnionId{get=>(ushort)5;}
public System.Single Mass {get{if(_data.TryGetTarget(out ComponentData data))return data.GetValue<System.Single>(6);else throw new NullReferenceException("弱引用未找到");}
set{if(_data.TryGetTarget(out ComponentData data))data.SetValue<System.Single>(6,value,true);else throw new NullReferenceException("弱引用未找到");}}
public static ushort MassId{get=>(ushort)6;}
public System.Int32 CombineMeshRange {get{if(_data.TryGetTarget(out ComponentData data))return data.GetValue<System.Int32>(7);else throw new NullReferenceException("弱引用未找到");}
set{if(_data.TryGetTarget(out ComponentData data))data.SetValue<System.Int32>(7,value,true);else throw new NullReferenceException("弱引用未找到");}}
public static ushort CombineMeshRangeId{get=>(ushort)7;}
public System.Int32 DetectMeshRange {get{if(_data.TryGetTarget(out ComponentData data))return data.GetValue<System.Int32>(8);else throw new NullReferenceException("弱引用未找到");}
set{if(_data.TryGetTarget(out ComponentData data))data.SetValue<System.Int32>(8,value,true);else throw new NullReferenceException("弱引用未找到");}}
public static ushort DetectMeshRangeId{get=>(ushort)8;}
public System.Single RemoteControlDis {get{if(_data.TryGetTarget(out ComponentData data))return data.GetValue<System.Single>(9);else throw new NullReferenceException("弱引用未找到");}
set{if(_data.TryGetTarget(out ComponentData data))data.SetValue<System.Single>(9,value,true);else throw new NullReferenceException("弱引用未找到");}}
public static ushort RemoteControlDisId{get=>(ushort)9;}

}
